<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #app,
        .big,
        .small1,
        .small2 {
            border: 1px solid #ccc;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
        }
        
        #app {
            width: 400px;
            height: 400px;
            border-radius: 0;
        }
        
        .big {
            width: 300px;
            height: 300px;
            background: red;
        }
        
        .small1 {
            width: 200px;
            height: 200px;
            background: blue;
        }
        
        .small2 {
            width: 100px;
            height: 100px;
            background: pink;
        }
    </style>
</head>

<body>
    <div id="app">
        <divss></divss>
    </div>

    <script src="./vue.js"></script>
    <template id="divss">
        <div class="big">
            <div class="small1">
                <div class="small2"></div>
            </div>
        </div>
    </template>
    <script>
        new Vue({
            el: "#app",
            components: {
                "divss": {
                    template: "#divss"
                }
            }
        })
    </script>
</body>

</html>